package com.anti.modular.bus.housebilldetail.param;

import com.anti.commom.pojo.BaseParam;
import lombok.Data;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
* 账单详情参数类
 *
 * @author anti
 * @date 2021-05-07 09:59:49
*/
@Data
public class HouseBillDetailParam extends BaseParam {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空，请检查id参数", groups = {edit.class, delete.class, detail.class})
    private Long id;

    /**
     * 賬單id
     */
    @NotNull(message = "賬單id不能为空，请检查houseBillId参数", groups = {add.class, edit.class})
    private Long houseBillId;

    /**
     * 賬單流水號
     */
    @NotBlank(message = "賬單流水號不能为空，请检查no参数", groups = {add.class, edit.class})
    private String no;

    /**
     * 流入流出類型 （1 流入 2 流出）
     */
    @NotNull(message = "流入流出類型 （1 流入 2 流出）不能为空，请检查billInOutType参数", groups = {add.class, edit.class})
    private Integer billInOutType;

    /**
     * 費用類型
     */
    private Integer expensesType;

    /**
     * 費用類別
     */
    @NotNull(message = "費用類別不能为空，请检查rentAmountCategory参数", groups = {add.class, edit.class})
    private Long rentAmountCategory;

    /**
     * 費用類別名稱
     */
    @NotBlank(message = "費用類別名稱不能为空，请检查rentAmountName参数", groups = {add.class, edit.class})
    private String rentAmountName;

    /**
     * 金额
     */
    @NotNull(message = "金额不能为空，请检查amount参数", groups = {add.class, edit.class})
    private BigDecimal amount;

    /**
     * 押金 1  水電 2 其他 3 （租金、临时收入、临时支出）
     */
    private Integer depositHydropowerFlag;
    /**
     * 費用類型（字典  1抄表 0不抄表） 抄表需要
     */
    @NotNull(message = "費用類型（字典  1抄表 0不抄表） 抄表需要不能为空，请检查rentAmountType参数", groups = {add.class, edit.class})
    private Integer rentAmountType;

    /**
     * 状态（字典 0正常 1注銷 2刪除）
     */
    @NotNull(message = "状态（字典 0正常 1注銷 2刪除）不能为空，请检查status参数", groups = {add.class, edit.class})
    private Integer status;

}
